﻿
namespace Eswat
{
	/// <summary>
	/// Contract for a testing context.
	/// </summary>
	/// <typeparam name="T">The type of the testing target.</typeparam>
	public interface ITestContext<T>
	{
		/// <summary>
		/// Gets the test target.
		/// </summary>
		T Target { get; }

		/// <summary>
		/// Gets the template source.
		/// </summary>
		string TemplateSource { get; }

		/// <summary>
		/// Gets the test template.
		/// </summary>
		string Template { get; }

		/// <summary>
		/// Gets the services.
		/// </summary>
		dynamic Services { get; }
	}
}
